Network-provided content, such as Internet web pages or media content such as video, pictures, music, and the like, are typically served to end users via networked computer systems. End user requests for the network content are processed and the content is responsively provided over various network links. These networked computer systems can include origin hosting servers which originally host network content of content creators or originators, such as web servers for hosting a news website. However, these computer systems of individual content creators can become overloaded and slow due to frequent requests of content by end users.
Content delivery networks have been developed which add a layer of caching between the origin servers of the content providers and the end users. The content delivery networks typically have one or more cache nodes distributed across a large geographic region to provide faster and lower latency access to the content for the end users. When end users request content, such as a web page, which is handled through a cache node, the cache node is configured to respond to the end user requests instead of the origin servers. In this manner, a cache node can act as a proxy for the origin servers. However, when a cache node communicates over different communication service providers, such as Internet Service Providers (ISPs), the various ISPs and other datagram networks over which end user content requests and content delivery are handled can add additional slowdowns and latency issues.
The Internet Protocol (IP) is a standard for routing communication through and between packet-switched networks. The unit of delivery in IP is the datagram, a packet of digital data that includes a routing header. The header includes the IP address of the intended destination of the datagram. An IP address is a unique number. In IP version 4, an IP address has 32 bits. In IP version 6, an IP address has 128 bits. As a datagram is routed, it is transferred between various routers until eventually reaching its destination. Each router uses a routing table to decide to which other router the datagram should be forwarded next. Routers frequently share information to update their routing tables using standard interactions such as Border Gateway Protocol.
An IP address is split logically into two parts: high-order bits and low-order bits. The last router of a route uses the low-order bits to identify which device is the final destination of a datagram. The other routers of a route ignore the low-order bits and use the high-order bits to transfer the datagram from one interconnected network to another. Exactly how many bits are high-order or low-order depends on the routing scheme. Classful routing allows only 8, 16, or 24 bits to be high-order, which can present problems. Classful routing can lead to many entries in routing tables which reduces efficiency in some network topologies. Classful routing does not take advantage of the increased address size of IP version 6, and the availability of unique numbers within the limited space of at most 24 high-order bits does not meet demand for custom topologies. Classless Inter-Domain Routing (CIDR) alleviates these problems by allowing an arbitrary number of high-order bits. CIDR notation is an extended encoding of an IP address that includes a prefix size. The prefix size declares how many bits are high-order, which is the CIDR prefix.
Overview
Systems, methods, apparatuses, and software that announce prefixes associated content nodes of a content delivery network are provided herein. In one example, a method of operating a communication system comprising Internet service providers configured to exchange content requests between end user devices and content nodes is presented. The method includes assigning a content node of the content delivery network a first Internet Protocol (IP) address having an associated first short prefix and a first long prefix, and assigning the content node a second IP address having an associated second short prefix and a second long prefix. The method also includes announcing the first short prefix and the first long prefix to a first Internet service provider communicatively coupled to the content node, and announcing the second short prefix and the second long prefix to a second Internet service provider communicatively coupled to the content node.
In another example, a computer apparatus to operate a management system for a content delivery network that handles content requests for end user devices using content nodes is presented. The computer apparatus includes processing instructions that direct the management system, when executed by the management system, to assign a content node of the content delivery network a first Internet Protocol (IP) address having an associated first short prefix and a first long prefix, assign the content node a second IP address having an associated second short prefix and a second long prefix, announce the first short prefix and the first long prefix to a first Internet service provider communicatively coupled to the content node, and announce the second short prefix and the second long prefix to a second Internet service provider communicatively coupled to the content node. The computer apparatus also includes one or more non-transitory computer readable media that store the processing instructions.
In another example, a management system for a content delivery network that handles content requests for end user devices using content nodes is presented. The management system includes a processing system configured to assign a content node of the content delivery network a first Internet Protocol (IP) address having an associated first short prefix and a first long prefix, and assign the content node a second IP address having an associated second short prefix and a second long prefix. The management system also includes a communication interface configured to announce the first short prefix and the first long prefix to a first Internet service provider communicatively coupled to the content node, and announce the second short prefix and the second long prefix to a second Internet service provider communicatively coupled to the content node.